In [2]:
# 创建列表
a = ['pig', 'cat', 'dog']
print(a)
# 用序号访问列表中的元素,支持双向
# 列表支持一种比较复杂的切片式访问,后面会有专门提及
print(a[1])
print(a[-1])
In [3]:
# 列表初始化
a = []
# 列表末尾追加元素
a.append('bird')
print(a)
a.append('snake')
print(a)
In [4]:
# 列表指定位置插入元素
a.insert(0,'sheep')
print(a)
In [5]:
# 列表删除指定序号的元素
a.pop(1)
print(a)
In [6]:
# 列表删除指定内容的元素
a = ['pig', 'cat', 'dog']
a.remove('dog')
print(a)
In [7]:
# 列表排序
a = ['pig', 'cat', 'dog', 'snake']
a.sort()
print(a)
# 倒序
a.sort(reverse = True)
print(a)
In [8]:
# 列表数字排序
a = [1,2,3,4]
a.sort(reverse = True)
print(a)
In [9]:
# 列表追加另一个列表
# 使用 append 一个列表的话,这个列表会以一个元素的方式追加到原来列表
b = ['cat1', 'cat2', 'cat3']
a.append(b)
print(a)
In [10]:
# 列表追加另一个列表的元素
# 使用 extned 一个列表,会以元素的形式追加到原来的列表
a = ['pig', 'cat', 'dog', 'snake']
b = ['cat1', 'cat2', 'cat3']
a.extend(b)
print(a)
In [11]:
# 统计某个元素在列表中出现次数
a = ['a','b','b','c']
print(a.count('b'))
In [12]:
# 保存列表内容
# 使用 pickle 模块,import 可以导入另外一个模块,执行其中的功能
import pickle
# files 在这里是路径,需要预先建立好,也可以用这样的 c:\xxx.txt 文件名写法
f = open('files/list_dump.txt', 'wb')
a = ['pig', 'cat', 'dog', 'snake', 'snake']
pickle.dump(a, f)
f.close()
In [13]:
# 读出列表内容
f = open('files/list_dump.txt', 'rb')
a1 = pickle.load(f)
f.close()
print(a1)
In [14]:
# 两维列表,列表中的每个元素都是一个列表
a = ['pig', 'cat', 'dog']
b = [1,2,3]
c = []
c.append(a)
c.append(b)
print(c)
# 第0个元素的第1个元素
print(c[0][1]) # cat
# 第1个元素的第2个元素
print(c[1][2]) # 3
In [15]:
# 列表生成式 初步
# 过滤列表中的重复元素
b = [x for x in a if a.count(x) == 1]
print(b)
In [16]:
# 显示一个对象的方法
# python 中一切皆对象
# 面向对象的编程是现代编程技术中的基本概念
print(dir(list))
In [17]:
# 用列表生成式来生成一个对象的方法
# 过滤掉继承的方法,也就是带下划线的
[x for x in dir(list) if x[0] != '_']
Out[17]:
In [20]:
# 利用 Python 内置函数判断两个字符串的相似性
from difflib import SequenceMatcher
def similarity(a, b):
return SequenceMatcher(None, a, b).ratio()
print(similarity('这是一个有趣的问题', '这是一个有趣的问题'))
print(similarity('这是一个有趣的问题', '这基本上是一个有趣的问题'))
print(similarity('这是一个有趣的问题', '高高的山上有只羊'))
# 其实并不是那么聪明
print(similarity('快捷支付是哪四要素', '快捷支付接口这里的四要素是什么'))
# python 内置的 difflib 虽然不是那么智能,不过功能还是很强大的,可以用它很容易的制作出类似代码比较的工具
please input name : C
Do you want to find ['Candy', 'Chris']?1
Chris
In [19]:
# 补充用户名字,利用切片的例子
name = ['Adam','Alex','Amy','Bob','Boom','Candy','Chris','David','Jason','Jasonstatham','Bill'];
i_name = input('please input name : ')
wname = [];
for n in name:
if n[0:len(i_name)] == i_name:
wname.append(n);
if len(wname) != 0:
number = input('Do you want to find %s?'%(wname))
print(wname[int(number)])
else:
print('%s not find'%(i_name))
有很多种方法,一般用的比较多也建议使用是的捕捉错误的办法,通过将输入的默认的字符串进行转换为数字,如果不能转换,说明用户输入的不是数字。
这里介绍一种比较优雅的方法来判断是否输入的是数字,通过使用 isdigit
函数,顾名思义,就是判断是否是数字的函数。
In [4]:
number = input("Enter number")
if( number.isdigit()):
print("Number ")
else:
print("String ")
In [7]:
# 看看 str 字符串有多少方法
print(dir(str))
python判断字符串,str函数isdigit、isdecimal、isnumeric的区别 https://www.cnblogs.com/guigujun/p/6133057.html
In [ ]: